// 2025/5/24
// 棋子翻转

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 
     * @param A int整型vector<vector<>> 
     * @param f int整型vector<vector<>> 
     * @return int整型vector<vector<>>
     */
    vector<vector<int> > flipChess(vector<vector<int> >& A, vector<vector<int> >& f) {
        // write code here
        for(auto& pos : f)
        {
            int x = pos[0] - 1, y = pos[1] - 1;
            if(x > 0) A[x - 1][y] = 1 - A[x - 1][y];
            if(x < A.size() - 1) A[x + 1][y] = 1 - A[x + 1][y];
            if(y > 0) A[x][y - 1] = 1 - A[x][y - 1];
            if(y < A[0].size() - 1) A[x][y + 1] = 1 - A[x][y + 1];
        }
        return A;
    }
};